Skip to content

Extract request tabs and history into focused workflows - #224

Merged
niklaslundberg merged 2 commits into
mainfrom
claude/mainviewmodel-split-pr-5fc355
Jun 13, 2026
Merged

niklaslundberg merged 2 commits into
mainfrom
claude/mainviewmodel-split-pr-5fc355

Conversation

@niklaslundberg

Copy link
Copy Markdown
Owner

Continue the MainWindowViewModel split (item 4 of the ordered plan):
add RequestTabsWorkflow for tab add/close lifecycle and
RequestHistoryWorkflow for history load/filter and
history-entry-to-editor projection, both with focused unit tests.
MainWindowViewModel now delegates to these workflows while keeping
the active-tab/response-state Apply* projections, consistent with
prior slices.

https://claude.ai/code/session_01Q7VztdeFcqMFetSVnWviPH

claude added 2 commits June 12, 2026 20:20
Continue the MainWindowViewModel split (item 4 of the ordered plan):
add RequestTabsWorkflow for tab add/close lifecycle and
RequestHistoryWorkflow for history load/filter and
history-entry-to-editor projection, both with focused unit tests.
MainWindowViewModel now delegates to these workflows while keeping
the active-tab/response-state Apply* projections, consistent with
prior slices.

https://claude.ai/code/session_01Q7VztdeFcqMFetSVnWviPH
Continue the MainWindowViewModel split (item 5 of the ordered plan):
LayoutWorkflow now owns the saved-layout dictionary, SavedLayoutNames,
and the Layout {N} name counter, plus save-as-new/save-to-existing/
restore-default/remove orchestration and BuildNamedLayouts() for
persistence, with focused unit tests. MainWindowViewModel keeps
SelectedLayoutName and the dock-tree/window-geometry layout pipeline,
consistent with the "Apply* UI projections stay in Main" precedent.

https://claude.ai/code/session_01Q7VztdeFcqMFetSVnWviPH
Comment on lines +28 to +34
foreach (var namedLayout in savedLayouts)
{
if (!string.IsNullOrWhiteSpace(namedLayout.Name) && namedLayout.Layout is { } layout)
{
_savedLayouts[namedLayout.Name] = layout;
}
}
@niklaslundberg
niklaslundberg merged commit 64e5431 into main Jun 13, 2026
24 checks passed
@niklaslundberg
niklaslundberg deleted the claude/mainviewmodel-split-pr-5fc355 branch June 13, 2026 04:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants